package com.ityun.ogapp.base

// BaseActivity.kt
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.viewbinding.ViewBinding
import com.jaeger.library.StatusBarUtil

abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {

    protected lateinit var mBinding: T

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        mBinding = createViewBinding()
        setContentView(mBinding.root)
        // 设置状态栏透明（沉浸式）
        StatusBarUtil.setTransparent(this)
        // 设置状态栏字体颜色为深色
        // 延迟执行确保UI渲染完成
        mBinding.root.post {
            StatusBarUtil.setDarkMode(this)
        }
        initViews()
        initData()
    }

    // 子类需要实现此方法来创建对应的ViewBinding实例
    protected abstract fun createViewBinding(): T

    // 初始化视图组件，子类可重写
    protected open fun initViews() {}

    // 初始化数据，子类可重写
    protected open fun initData() {}

    // 释放资源在Kotlin中由系统自动处理
}
